﻿#include "sharedDefine.h"

bool copyFiles_Folder2Folder(const QString &qstrFromDir, const QString &qstrToDir)
{
    QFileInfo fromFileInfo(qstrFromDir);
    QFileInfo toFileInfo(qstrToDir);

    if (fromFileInfo.isDir())
    {
        QDir dir_to(qstrToDir);
        if(!dir_to.exists())
        {
            dir_to.mkdir(qstrToDir);
        }
        QDir dir_from(qstrFromDir);
        QStringList fileNames = dir_from.entryList(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot );
        foreach(const QString &fileName, fileNames)
        {
            const QString qstr_newFromDir = qstrFromDir + QLatin1Char('/') + fileName;
            const QString qstr_newToDir   = qstrToDir   + QLatin1Char('/') + fileName;
            if (!copyFiles_Folder2Folder(qstr_newFromDir, qstr_newToDir))
            {
                return false;
            }

        }
    }
    else
    {
        if (!QFile::copy(qstrFromDir, qstrToDir))
        {
            return false;
        }
    }
    return true;
}

QStringList getFilesNameWithDir(const QString qtr_dir)
{
    //设置要遍历的目录
    QDir dir(qtr_dir);
    //设置文件过滤器
    QStringList nameFilters;
    //将过滤后的文件名称存入到files列表中
    return dir.entryList(nameFilters, QDir::Files | QDir::Readable, QDir::Name);
}
